The Internet is a world-wide collection of inter-connected networks that is widely used to access information, communicate, and carry out business transactions. A web server is an Internet-connected computer system that can provide information to Internet-connected client computers. Client computers use a computer program called a web browser to connect to and access information on web servers. Using a web browser, a user of an Internet-connected computer can access a huge number of different web servers. The vast collection of web servers available on the Internet is frequently referred to as the World Wide Web.
A web browser displays information received from a web server in units that have the appearance of pages, and because of their appearance, the pages downloaded from web servers and displayed by web browsers are frequently referred to as web pages. Web pages contain elements including formatted text, images, and links. A link is an active connection to other web pages and may be expressed as a Uniform Resource Locator (“URL”), which is the addresses of a web page. When a user selects a link, his or her web browser will then request and receive the web page corresponding to the URL of the link.
The collection of web pages associated with a web server of a particular name is frequently referred to as a website. Many websites provide information that is continually updated. The person that coordinates the updating of information on a website and ensures its proper continued operation may be referred to as a website operator. A website operator may monitor the operation of the website, considering, for example, past statistics including the number of times a particular web page has been accessed in the past.
A website visitor is a person who uses a web browser to “visit” a website, that is, request and receive web pages of the website . By using a web browser to connect to a website and by selecting links within a website that allow a website visitor to navigate among the various web pages within a website, a website visitor may access all of the information a website operator wishes to provide to the website visitor. When data transfer is initiated by the website visitor, it is sometimes referred to as “pulling content,” because from the perspective of the website visitor, content is being pulled down to his or her browser. Conversely, when data transfer is initiated at the web server it is referred to as “pushing content.”
The dominant protocol suite used on the Internet is the Transmission Control Protocol and Internet Protocol (“TCP/IP”) suite. Web servers and web browsers use the Hypertext Transfer Protocol (“HTTP”), which is built upon TCP/IP, to exchange information. Establishment of a connection between a web browser and a web server begins with a web server process waiting or listening for a connection at a placeholder on the server known as a “port,” which, in the case of HTTP is usually port 80. A client establishes a logical network connection by connecting to port 80. Once the network connection is established, the software in the web server and web browser uses the network connection to send and receive data. The software construct that a program uses to send and receive data over the network connection is referred to as a “socket.”
Current methods of communication between website operators and website visitors comprise methods in which a visitor is given an opportunity to send a message to an operator. The visitor may ask a question or request additional information. Many websites merely provide a catalog or a list of products that are offered for sale. These systems do not provide a means for a website operator to contact a visitor to offer help and answer individual questions or to provide additional information. In many cases existing systems do not provide a reliable means to determine whether a product is actually in stock, and, even if a traditional website contains an in-stock indicator, it is not possible for a potential customer to receive actual confirmation that the in-stock indicator is actually correct. Other questions a website visitor may wish to ask include how many of the products are shipping, and if a product is not in stock, when the product will become available. In many traditional websites, a potential customer has no way to ask whether a product will interoperate with a particular peripheral, etc. The answers to these types of questions can be crucial to concluding a sale, and current systems do not provide a means for operators to proactively contact visitors and push out web content or proactively provide website visitors with necessary information.